package cn.good.yan.basics.health;

import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.boot.actuate.endpoint.annotation.WriteOperation;
import org.springframework.stereotype.Component;

import java.util.Collections;
import java.util.Map;

/**
 * 4 自定义的 监控端点 - （定义自己的 监控端点）
 *      页面访问：http://localhost:9080/actuator/mydocker
 *      mydocker  这里是自定义的，正常访问没有问题，会打印 getDockerInfo 这里的信息
 *
 * @author shengren.yan
 * @create 2023-03-29
 */
@Component
// 参数 是 端点名  （与日志端点、内存端点等等并列显示）
@Endpoint(id = "mydocker")
public class DockerEndpoint {

    // 读操作  会返回结果
    @ReadOperation
    public Map<String, String> getDockerInfo(){
        return Collections.singletonMap("info","docker started...");
    }

    // 写操作
    @WriteOperation
    private void restartDocker(){
        System.out.println("docker 关闭了....");
    }


}
